import numpy as np
import matplotlib.pyplot as plt

# 先读取图片
p1 = plt.imread('google_logo.png')
print(type(p1), p1)  # 输出确认图像数据类型和内容

# 确保处理的是 RGB 图像而不是 RGBA 图像
if p1.shape[-1] == 4:  # 若为RGBA图像
    p1 = p1[:, :, :3]  # 移除alpha通道，保留RGB

# 灰度转换公式
p2 = np.array([0.299, 0.587, 0.114])

# 计算灰度图像
p1_gray = np.dot(p1.reshape(-1, 3), p2).reshape(p1.shape[0], p1.shape[1])

# 显示原彩色图像
plt.figure()
plt.imshow(p1)

# 显示灰度图像
plt.figure()
plt.imshow(p1_gray, cmap='gray')

# 显示图像
plt.show()
